<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //   Object.create();
      //   function create(proto, props = {}) {
      //     const o = {};
      //     o.__proto__ = proto;
      //     Object.defineProperties(o, props);
      //     return o;
      //   }

      function create(proto, props = {}) {
        function F() {}
        F.prototype = proto;
        const o = new F();
        Object.defineProperties(o, props);
        return o;
      }

      //   const obj = create(
      //     { a: 1 },
      //     {
      //       name: {
      //         value: 20,
      //       },
      //     }
      //   );

      const obj = create(
        { a: 1 },
        {
          name: {
            value: 20,
          },
        }
      );

      console.log(obj);
    </script>
  </body>
</html>
